• File: hub_wa0362_maintain.php
  • Full Path: C:/htdocs/REEFTintegrationLog_test/REEFTintegrationLog/saved/hub_wa0362_maintain.php
  • Date Modified: 04/30/2025 7:56 AM
  • File size: 46.96 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
//======================================================================================
//
// Function: Maintain WAMMP951
//
// Programmer: JKJ
// Date      : 2024-11-02
//
// Copyright Reeft A/S (c) - 2024
//======================================================================================

// https://stackoverflow.com/questions/56062658/clicking-programmatically-on-the-arrows-of-html-inputs-type-number

//======================================================================================
// Get input
//======================================================================================

	if (isset($_REQUEST["WXLIN"])) {
		$input_WXLIN = $_REQUEST["WXLIN"];
	} else {
		$input_WXLIN = '';
	}

	if (isset($_REQUEST["WXART"])) {
		$input_WXART = $_REQUEST["WXART"];
	} else {
		$input_WXART = 'AI6760201';
		$input_WXART = '41329020300';
	}

//======================================================================================
// Make line uppercase
//======================================================================================

	$input_WXLIN = strtoupper( $input_WXLIN );

//======================================================================================
// General config
//======================================================================================
	include "config/config.php";

//======================================================================================
// Check if user is logged in?
//======================================================================================
	include "login_check.php";

//======================================================================================
// Get session variables
//======================================================================================

	include "include/getsession.php";

//======================================================================================
// Set language
//======================================================================================

	include "include/set_language.php";

//======================================================================================
// Set defaults
//======================================================================================

	// $pk_reference  = $_SESSION['session_dft_pk_reference'];
	// $referenceCode = $_SESSION['session_dft_referencecode'];
	// $referenceName = $_SESSION['session_dft_referencename'];

//======================================================================================
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<title><?php echo $datahub_text0001 ?></title>

	<meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
	<meta name="description" content="REEFTvisual - Stoptime">
    <meta name="author" content="REEFT A/S">
    <link rel="icon" href="images/favicon/favicon.ico">

    <!-- Bootstrap / jQuery -->
    <link href="css/bootstrap4.3.1/css/bootstrap.custom.min.css" rel="stylesheet">
    <link href="css/bootstrap4.3.1/css/themes/bootstrap.custom.min.css" rel="stylesheet">

	<link href="css/bootstrap4.3.1/css/normalize.css" rel="stylesheet" type="text/css">

	<link href="css/sticky-footer.css" rel="stylesheet" type="text/css">

    <!-- Custom styles for this template -->
    <link href="css/custom.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">


	<script src="css/fontawesome6.5.1/js/all.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-light.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-regular.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-solid.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-thin.min.js"></script>
	

	<link href="css/bootstrap_animation/css/animate4/animate.css" rel="stylesheet" type="text/css">

	<!--<link href="javascript/chosen/chosen.css" rel="stylesheet" type="text/css">-->

	<link href="javascript/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css"/>

    <script src="javascript/jquery.js"></script>
    <script src="css/bootstrap4.3.1/js/popper.js"></script>
    <script src="css/bootstrap4.3.1/js/bootstrap.min.js"></script>

	<script src="javascript/jquery-ui/jquery-ui.min.js"></script>
    <script src="javascript/jquery.ui.touch-punch.min.js"></script>

	<link href="javascript/bgrins-spectrum/spectrum.css" rel="stylesheet" type="text/css">
	<script src="javascript/bgrins-spectrum/spectrum.js"></script>

	<script src="javascript/moment.min.js"></script>
	<script src="javascript/moment-with-locales.min.js"></script>
	<script src="javascript/moment-duration-format.min.js"></script>

	<script src="javascript/number_format/jquery.number.min.js"></script>

	<script src="javascript/jquery.scrollTo.min.js"></script>


	<link href="javascript/daatatables/media/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css">
	<link href="javascript/daatatables/media/css/fixedHeader.dataTables.min.css" rel="stylesheet" type="text/css">
	<link href="javascript/daatatables/Buttons-1.4.2/css/buttons.dataTables.min.css" rel="stylesheet" type="text/css">

    <script src="javascript/daatatables/media/js/jquery.dataTables.min.js"></script>
    <script src="javascript/daatatables/media/js/dataTables.fixedHeader.min.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/dataTables.buttons.min.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/buttons.flash.min.js"></script>
	<script src="javascript/daatatables/JSZip-2.5.0/jszip.min.js"></script>
	<script src="javascript/daatatables/pdfmake-0.1.53/pdfmake.min.js"></script>
	<script src="javascript/daatatables/pdfmake-0.1.53/vfs_fonts.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/buttons.html5.min.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/buttons.print.min.js"></script>

	<script src="javascript/chosen/chosen.jquery.min.js" type="text/javascript"></script>

	<script src="javascript/viewer-master/dist/viewer.min.js"></script>
	<link  href="javascript/viewer-master/dist/viewer.min.css" rel="stylesheet">

	<script src="javascript/ajaxq/ajaxq.js"></script>

	<link id="scrollUpTheme" rel="stylesheet" href="javascript/scrollup-master/dist/css/themes/image.css">
	<script src="javascript/scrollup-master/dist/jquery.scrollUp.js"></script>
	<script src="javascript/shortcut.js"></script>

	<script src="javascript/_reeft_js/set_font_awesome_icon_type.js"></script>
	<script src="javascript/_reeft_js/date_convert.js"></script>
<style>

.prodid-flow-icon-class:hover, .moa-list-icon-class:hover {
	color:black;
	background-color: #337AB7;
    border-width:1px !important;
    border-color:black !important;
}

.click-error-moa {
	color:black;
	background-color: HotPink;
    border-width:1px !important;
    border-color:black !important;
}

.click-highlight-moa {
	color:black;
	background-color: CornflowerBlue;
    border-width:1px !important;
    border-color:black !important;
}

.click-highlight-moa-icon {
	color: CornflowerBlue;
}

.modal-body {
    max-height: calc(100vh - 143px);
    overflow-y: auto; }

.btn-custom-wide {
	height:60px;
	width:210px;
}

.modal-xxl {
    max-width: 80%;
}

.modal-xl {
    max-width: 50%;
}


.border-3 {
    border-width:3px !important;
}

td .hover-img {
  position:relative;
 }
td .hover-img span {
  position:absolute; left:-9999px; top:-9999px; z-index:9999;
 }
td:hover .hover-img span {
  top: 5px;
  left:0px;
 }

 .chosen-container-single {
    min-width: 100%;
}

</style>

<script language="JavaScript">

//=============================================================================
// Globals
//=============================================================================

    var myCurrentRow;
	var myGlobalRowData;
    var myGlobalTableData;

	var global_all_lines = '';
	var global_all_workcenters = '';
	var global_debug = 'N';

	// Add allowed Y/N
	var GLOBAL_ADD_ALLOWED = 'N';

	// Delete allowed Y/N
	var GLOBAL_DELETE_ALLOWED = 'N';

	var jsonDataSave = {};

	var DFT_DATE_DISPLAY_FORMAT 	=  '<?php //echo $DFT_DATE_DISPLAY_FORMAT ?>';
	var DFT_LANGUAGE 				=  '<?php //echo $DFT_LANGUAGE ?>';

	var GLOBAL_TOTALPAGESSTOPVALUE	=  10;


	// Save field
	var save_WXLIN = '';
	var save_WXPID = '';


	$(function () {
	  $.scrollUp({
		scrollName: 'scrollUp', // Element ID
		//topDistance: '1800', // Distance from top before showing element (px)
		//topSpeed: 300, // Speed back to top (ms)
		scrollDistance: '300', // Distance from top before showing element (px)
		scrollSpeed: 300, // Speed back to top (ms)
		animation: 'fade', // Fade, slide, none
		animationInSpeed: 200, // Animation in speed (ms)
		animationOutSpeed: 200, // Animation out speed (ms)
		scrollText: false, //'Scroll to top', // Text for element
		activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
	  });
	});

//=============================================================================
// Get data
//=============================================================================
function getData()
{

	if ( global_debug == 'Y' ) {
		console.log("Start");
		console.time("answer time");
		console.timeLog("answer time");
	}

	$('#data-result').html('<?php echo $datahub_datatable_Processing ?>').addClass('text-center');

	// Get the current search line
	var input_WXLIN = $('#input-search-line').val();
	var input_search_arg = $('#input-search-arg').val();

	// If data is recieved for a line - show the "next prodid button"
	if ( input_WXLIN != '' ) {
		$('#show-from-next-prodid-to-enter-the-line').removeClass('d-none');
	} else {
		$('#show-from-next-prodid-to-enter-the-line').addClass('d-none');
	}

	// Get page data
	myTotalRecordsFound 	= $('#input-myTotalRecordsFound').val();
	myTotalPages 			= $('#input-myTotalPages').val();
	myPageSize 				= $('#input-myPageSize').val();

	myPageGoTo 				= $('#input-myPageGoTo').val();
	myOffSet 				= $('#input-myOffSet').val();
	myCurrentPageCounter	= $('#input-myCurrentPageCounter').val();


	let myButtonOffSetNumber = myPageGoTo;

	if ( myButtonOffSetNumber <= 1 || myButtonOffSetNumber == '' ) {
		myButtonOffSetNumber = 1
		$('#page-prev-button').addClass('d-none');
	} else {
		//$('#page-prev-button').removeClass('d-none');
	}


	$('.pagination-badge-class').removeClass('badge-success').addClass('badge-dark');
	var selectButtonLineID = 'select-page-button-id-' + myButtonOffSetNumber;
	$('#' + selectButtonLineID).removeClass('badge-dark').addClass('badge-success');
	//console.log( selectButtonLineID );

	myPageSize = 5000;

	var TAKT_LINES 	= $('#input-TAKT_LINES').val();
	var WXART 		= $('#input-WXART').val();

	// Create param list
	parmData = 'WXLIN=' + input_WXLIN
			 + '&TAKT_LINES	=' + TAKT_LINES
			 + '&WXART	=' + WXART
			 + '&myPageGoTo=' + myPageGoTo
			 + '&myOffSet=' + myOffSet
			 + '&myPageSize=' + myPageSize
			 + '&search_arg=' + input_search_arg
			 ;

	$.ajax({
		url: "hub_wa0362_maintain_get.php",
		type: "GET",
		data: parmData,
		dataType: "json",
		cache: false,
	beforeSend: function( xhr ) {

	}
	})
	.done(function( jsonData ) {

				if ( global_debug == 'Y' ) {
					console.log("After RPG call");
					console.timeLog("answer time");
				}

				// Save jSon data
				jsonDataSave = jsonData;

				var returnCode 			= jsonData.header.returnCode;
				var returnMsg 			= jsonData.header.returnMsg;
				var entries_found 		= jsonData.header.entries_found;
				var response_sec 		= jsonData.header.response_sec;

				if ( $('#input-super-action-in-progress').val() != 'Y') {
					$('#number-of-something').html( '<?php echo $datahub_text0055 ?> : ' + entries_found );
				}
				$('#input-super-action-in-progress').val('N');

				// Place data in matrix
				$.each( jsonData.data, function( index, object ){

					var counter 			= object.counter;
					var ACTIV   			= object.ACTIV;
					var CMPNO   			= object.CMPNO;
					var WXLIN   			= object.WXLIN;
					var WXMOA   			= object.WXMOA;
					var WXART				= object.WXART;
					var rpyClassNameInput 	= object.rpyClassNameInput;
					var rpyClassNameButton 	= object.rpyClassNameButton;

					//console.log(rpyClassNameInput, rpyClassNameButton )

					$('.' + rpyClassNameInput).val(WXLIN + '|' + WXMOA);
					$('.' + rpyClassNameButton).addClass('btn-success').removeClass('btn-primary');


				});


				// HTMLline02  +=	'</tbody>'
				            // +	'</table>'


				// Show yourself to the world, you little fvcker
				// $('#data-result').html(HTMLline02);

				if ( global_debug == 'Y' ) {
					console.log("After processing json");
					console.timeLog("answer time");
				}

				// Datatables
				//setDataTables();

				if ( global_debug == 'Y' ) {
					console.log("After datatables");
					console.timeLog("answer time");
				}


				//-----------------------------------------------------------------------
				// Set font awesome icon type
				//-----------------------------------------------------------------------
					// Value is from config/config.php
					var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>';
					setFontAwesomeIconType( iconType );
				//-----------------------------------------------------------------------

				if ( global_debug == 'Y' ) {
					console.log("Done");
					console.timeEnd("answer time");
				}

				//-----------------------------------------------------------------------
				// Place cursor
				//-----------------------------------------------------------------------
					$('#input-search-arg').focus();

				//-----------------------------------------------------------------------
				// Is add allowed
				//-----------------------------------------------------------------------
					if ( GLOBAL_ADD_ALLOWED == 'Y' ) {
						$('#add-button').removeClass('d-none');
					} else {
						$('#add-button').addClass('d-none');
					}
				//-----------------------------------------------------------------------

				//-----------------------------------------------------------------------
				// Get general takt info
				//-----------------------------------------------------------------------
				//getWorkCenters();


				//-----------------------------------------------------------------------
				// Show init screen, only if wanted
				//-----------------------------------------------------------------------
				// if ( $('#input-init-screen-shown').val() != 'Y' ) {
					// showInitScreen();
				// }



	})
	.always(function( jsonData ) {

		//console.log('I am always..');


	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

		$('#data-result').html( '<b>Error retreiving data from the server...</b>' );

	});

}

//=============================================================================
// Get TAKT info
//=============================================================================
function getWorkCenters()
{

	var myLine = $('#input-search-line').val();
	var input_WXLIN = $('#input-search-line').val();

	myWorkCenterData = '';

	//$('#data-result-takt-info').html('<?php echo $datahub_datatable_Processing ?>').addClass('text-center');
	$('#data-result-workcenters-message').html('<?php echo $datahub_datatable_Processing ?>');

	// Get the current search arg
	var input_search_arg = $('#input-search-arg').val();

	var input_lines = $('#input-TAKT_LINES').val();

	// Create param list
	parmData = 'input_lines=' + myLine
			 + '&search_arg=' + input_search_arg
			 + '&input_lines=' + input_lines
			 ;

	$.ajax({
		url: "get_takt_info.php",
		type: "GET",
		data: parmData,
		dataType: "json",
		cache: false,
	beforeSend: function( xhr ) {

	}
	})
	.done(function( jsonData ) {


				var rpyCMPNO				= jsonData.header.rpyCMPNO;
				var rpyCMPNO_Name			= jsonData.header.rpyCMPNO_Name;
				var rpyFile_name			= jsonData.header.rpyFile_name
				var rpyFile_description		= jsonData.header.rpyFile_description
				var rpyTableRecordsFound	= jsonData.header.rpyTableRecordsFound

				var TAKT_LINES_ALL			= jsonData.header.TAKT_LINES_ALL;
				var TAKT_LINES	 			= jsonData.header.TAKT_LINES;
				var DEFAULT_TAKT_LINES		= jsonData.header.DEFAULT_TAKT_LINES;
				var rpyTotal_lines	 		= jsonData.header.total_lines;
				var rpyTotal_workcenters	= jsonData.header.total_workcenters;

				var returnCode 				= jsonData.header.returnCode;
				var returnMsg 				= jsonData.header.returnMsg;
				var entries_found 			= jsonData.header.entries_found;
				var response_sec 			= jsonData.header.response_sec;

				$('#input-TAKT_LINES').val( TAKT_LINES_ALL );
				$('#input-DEFAULT_TAKT_LINES').val( DEFAULT_TAKT_LINES );

				// Set Company and file information
				if ( rpyCMPNO != '' ) {
					$('#data-hub-company-information').html( '<span title="' + rpyFile_name + ' - ' + rpyFile_description + '">' + rpyCMPNO_Name + ' (' + rpyCMPNO + ')' + '</span>' ).css('font-size','1.3em');
				}

				// Set some statictis
				$('#number-of-takt-lines').html( '<?php echo $datahub_text0167 ?>: '  + rpyTotal_lines );
				$('#number-of-workcenters').html( '<?php echo $datahub_text0168 ?>: ' + rpyTotal_workcenters );

				// Show load time
				$('#load-time-from-database').html( '(' + response_sec + ')');


				$.each( jsonData.detail, function( index, object ){

					var LINE   	= object.LINE;
					myLine 		= LINE;

					global_all_lines += LINE + '|';

					if ( LINE == myLine )
					{

						var counter 			= object.counter;
						var TAKT_LINES	  		= object.TAKT_LINES	;
						var REEFT_LINE  		= object.REEFT_LINE;
						var LINENAME  			= object.LINENAME;
						var FIRST_WC  			= object.FIRST_WC;
						var FIRST_WORKCENTER  	= object.FIRST_WORKCENTER;
						var LAST_WC  			= object.LAST_WC;
						var LAST_WORKCENTER  	= object.LAST_WORKCENTER;
						var WORKCENTERS  		= object.WORKCENTERS;

						// Create workcenter line
						myWorkCenterData = '<div class="row mb-2 mt-2 p-2 text-left border border-primary">'
										 + '<div class="col-xl-1 col-lg-1 col-md-2 col-sm-2 col-xs-3">'
										 + '<span class="font-weight-bold mr-2">' + LINENAME + '</span> : '
										 + '</div>'
										 + '<div class="col-xl-9 col-lg-9 col-md-8 col-sm-6 col-xs-7">'
										 ;

						// Collect all the workcenters for multi add/delete
						allLine = '';

						$.each(object.wc, function( i, wc){

								var WC_COUNTER 		= wc.WC_COUNTER;
								var WORKCENTER 		= wc.WORKCENTER;

								allLine += WORKCENTER + '|';
								global_all_workcenters += LINE + ';' + WORKCENTER + '|';

								myWorkCenterData += ''
												 + '<button type="button" class="btn btn-primary btn-smx mb-1 mr-1 class_input_button_all workcenter-class-' + LINE
												 +  ' '
												 +	'button_' + LINE + '_' + WORKCENTER + '"'
												 +  ' '
												 +	'onclick="selectWorkCenter('
												 +	'\''
												 + LINE
												 +	'\','
												 +	'\''
												 + WORKCENTER
												 +	'\''
												 + ')">'
												 +  ' '
												 +	WORKCENTER
												 + '</button>'
												 + '<input type="text"'
												 + ' '
												 + 'style="max-width:65px"'
												 + ' '
												 + 'class="d-none class_input_super_all'
												 + ' '
												 + 'class_' + LINE + '_' + WORKCENTER
												 + ' '
												 + 'class_input_' + LINE
												 + '"'
												 + '>'
												 ;


						});


						// Create workcenter line
										// + '<xiv class="col-xl-1 col-lg-1 col-md-2 col-sm-2 col-xs-3">'
										// + '<xiv class="col-xl-1 col-lg-1 col-md-2 col-sm-2 col-xs-2">'

						myWorkCenterData += ''
										 + '</div>'
										 + '<div class="col-xl-2 col-lg-2 col-md-2 col-sm-4 col-xs-2">'
										 ;


						// Remove last |
						if ( allLine.substr(0-1) == '|' ) {
							allLine = allLine.slice(0,-1);
						}
						if ( global_all_lines.substr(0-1) == '|' ) {
							global_all_lines = global_all_lines.slice(0,-1);
						}

						// Select all button
						myWorkCenterData += ''
										 + '<button type="button" class="btn btn-dark btn-sm mb-1 mr-1 workcenter-class'
										 +  ' '
										 +	'button_' + LINE + '_' + 'ALL' + '"'
										 +  ' '
										 +	'onclick="selectAllWorkCenter('
										 +	'\''
										 + LINE
										 +	'\','
										 +	'\''
										 + allLine
										 +	'\''
										 + ')">'
										 +  ' '
										 +	'<?php echo $datahub_button_select ?>'
										 + '</button>'
										 ;

						// De-select all button
						myWorkCenterData += ''
										 + '<button type="button" class="btn btn-danger btn-sm mb-1 mr-1 workcenter-class'
										 +  ' '
										 +	'button_' + LINE + '_' + 'ALL' + '"'
										 +  ' '
										 +	'onclick="deSelectAllWorkCenter('
										 +	'\''
										 + LINE
										 +	'\','
										 +	'\''
										 + allLine
										 +	'\''
										 + ')">'
										 +  ' '
										 +	'<?php echo $datahub_button_de_select ?>'
										 + '</button>'
										 ;


						// Create "the end"
						$('#data-result-workcenters').append( '</div></div>' );
						$('#data-result-workcenters').append( myWorkCenterData );

					}
				});




						if ( global_all_workcenters.substr(0-1) == '|' ) {
							global_all_workcenters = global_all_workcenters.slice(0,-1);
						}

						// Select all super button
						superWorkCenterDataADD 	= ''
												+ '<button type="button" class="btn btn-success btn-smX mb-1 mr-1 workcenter-class'
												+  ' '
												+	'button_ALL' + '"'
												+  ' '
												+	'onclick="superSelectAllWorkCenter('
												+	'\''
												+ global_all_lines
												+	'\','
												+	'\''
												+ global_all_workcenters
												+	'\''
												+ ')">'
												+  ' '
												+	'<?php echo $datahub_button_super_select ?>'
												+ '</button>'
												;

						// De-select all super button
						superWorkCenterDataDELETE = ''
												+ '<button type="button" class="btn btn-danger btn-smX mb-1 mr-1 workcenter-class'
												+  ' '
												+	'button_ALL' + '"'
												+  ' '
												+	'onclick="superDeSelectAllWorkCenter('
												+	'\''
												+ global_all_lines
												+	'\','
												+	'\''
												+ global_all_workcenters
												+	'\''
												+ ')">'
												+  ' '
												+	'<?php echo $datahub_button_super_de_select ?>'
												+ '</button>'
												;


						// Show super buttons
						$('#super-button-add').html(superWorkCenterDataADD);
						$('#super-button-del').html(superWorkCenterDataDELETE);



						console.log(global_all_lines, global_all_workcenters);

				// Set marker to select a workcenter
				// if ( entries_found > 0 ) {
					// myWorkCenterData += '<span id="workcenter-message"><?php echo $datahub_text0136 ?></span> <span id="workcenter-message-help-icon" onclick="highlightMOAicons()"><i class="fa-solid fa-circle-info text-dark"></i></span>';
					// $('.moa-list-icon-class').removeClass('d-none');
					// $('#data-result-workcenters').removeClass('border-danger').addClass('border-primary');
				// } else {
					// myWorkCenterData = 	'<?php echo $datahub_text0137 ?>';
					// $('.moa-list-icon-class').addClass('d-none');
					// $('#data-result-workcenters').removeClass('border-primary').addClass('border-danger');
				// }

				// Remove info message
				$('#data-result-workcenters-message').html('');


				//-----------------------------------------------------------------------
				// If no workcenters found - hide Show MOA list icon
				//-----------------------------------------------------------------------
				if ( entries_found == 0 ) {
				} else {
				}


				//-----------------------------------------------------------------------
				// Set font awesome icon type
				//-----------------------------------------------------------------------
					// Value is from config/config.php
					var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>';
					setFontAwesomeIconType( iconType );
				//-----------------------------------------------------------------------


				//-----------------------------------------------------------------------
				// Get data
				//-----------------------------------------------------------------------
				getData();


	})
	.always(function( jsonData ) {

		//console.log('I am always..');


	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

		$('#data-result').html( '<b>Error retreiving data from the server...</b>' );

	});

}

//=============================================================================
// Select work center
//=============================================================================
function selectWorkCenter( myLine, myWC )
{

	var myButtonClass 	= 'button_' + myLine + '_' + myWC;
	var myInputClass 	= 'class_' + myLine + '_' + myWC;

	if ( $('.' + myInputClass).val() == '' ) {
		$('#input-mode').val( '*add' );
		$('.' + myInputClass).val( myLine + '|' + myWC );
		$('.' + myButtonClass ).removeClass('btn-primary').addClass('btn-success');
	} else {
		$('#input-mode').val( '*delete' );
		$('.' + myInputClass).val('');
		$('.' + myButtonClass ).removeClass('btn-success').addClass('btn-primary');
	}


	// $('#' + inputWC).removeClass('btn-primary').addClass('btn-success');

	// Move to general input fields
	$('#input-WXLIN').val( myLine )
	$('#input-WXMOA').val( myWC )
	$('#input-WXART').val( '<?php echo $input_WXART ?>' )

	dataSave();

}

//=============================================================================
// Select all work centers
//=============================================================================
function selectAllWorkCenter( myLine, myWC_ALL )
{

	var myButtonClass 	= 'workcenter-class-' + myLine;

	// Reset all
	$('.class_input_' + myLine).val('');

	var ary_wrk = myWC_ALL.split('|');

	for (let i = 0; i < ary_wrk.length; i++)
	{

	console.log(ary_wrk[i]);
	myWC = ary_wrk[i];

	var myInputClass 	= 'class_' + myLine + '_' + myWC;

	if ( $('.' + myInputClass).val() == '' ) {
		$('#input-mode').val( '*add' );
		$('.' + myInputClass).val( myLine + '|' + myWC );
		$('.' + myButtonClass ).removeClass('btn-primary').addClass('btn-success');
	} else {
		// $('#input-mode').val( '*delete' );
		// $('.' + myInputClass).val('');
		// $('.' + myButtonClass ).removeClass('btn-success').addClass('btn-primary');
	}

	}

	// $('#' + inputWC).removeClass('btn-primary').addClass('btn-success');

	// Move to general input fields
	$('#input-WXLIN').val( myLine )
	$('#input-WXMOA').val( '' )
	$('#input-WXART').val( '<?php echo $input_WXART ?>' )
	$('#input-ALL_WORKCENTERS').val( myWC_ALL )

	dataSave();

}

//=============================================================================
// De-select all work centers
//=============================================================================
function deSelectAllWorkCenter( myLine, myWC_ALL )
{

	var myButtonClass 	= 'workcenter-class-' + myLine;

	// Reset all
	$('.class_input_' + myLine).val('');

	var ary_wrk = myWC_ALL.split('|');

	for (let i = 0; i < ary_wrk.length; i++)
	{

	console.log(ary_wrk[i]);
	myWC = ary_wrk[i];

	var myInputClass 	= 'class_' + myLine + '_' + myWC;

	if ( $('.' + myInputClass).val() == '' ) {
		$('#input-mode').val( '*multi_delete' );
		$('.' + myInputClass).val( myLine + '|' + myWC );
		$('.' + myButtonClass ).removeClass('btn-success').addClass('btn-primary');
	}

	}

	// Move to general input fields
	$('#input-WXLIN').val( myLine )
	$('#input-WXMOA').val( '' )
	$('#input-WXART').val( '<?php echo $input_WXART ?>' )
	$('#input-ALL_WORKCENTERS').val( myWC_ALL )

	dataSave();

}

//=============================================================================
// Super select all work centers
//=============================================================================
function superSelectAllWorkCenter( myLine_ALL, myWC_ALL )
{

	// Reset all
	$('.class_input_super_all').val('');
	$('.class_input_button_all').removeClass('btn-primary').addClass('btn-success');;
	$('#input-mode').val( '*super_add' );

	// Move to general input fields
	$('#input-WXLIN').val( myLine_ALL )
	$('#input-WXMOA').val( '' )
	$('#input-WXART').val( '<?php echo $input_WXART ?>' )
	$('#input-ALL_WORKCENTERS').val( myWC_ALL )

	dataSave();

}

//=============================================================================
// Super de-select all work centers
//=============================================================================
function superDeSelectAllWorkCenter( myLine_ALL, myWC_ALL )
{

	// Reset all
	$('.class_input_super_all').val('');
	$('.class_input_button_all').removeClass('btn-success').addClass('btn-primary');;
	$('#input-mode').val( '*super_delete' );

	// Move to general input fields
	$('#input-WXLIN').val( myLine_ALL )
	$('#input-WXMOA').val( '' )
	$('#input-WXART').val( '<?php echo $input_WXART ?>' )
	$('#input-ALL_WORKCENTERS').val( myWC_ALL )

	dataSave();

}

//=============================================================================
// Save
//=============================================================================
function dataSave()
{
	// Reset modal message
	resetModalMessage();


	// // Check content of fields

	// if ( $('#modal-input-WXPID').val() == '' ) {
		// $('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0023 ?>' );
		// $('#modal-save-button').addClass('disabled').prop("disabled", true);
		// $('#modal-input-WXPID').focus();
		// return false;
	// }

	// if ( $('#modal-input-WXLIN').val() == '' ) {
		// $('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0006 ?>' );
		// $('#modal-save-button').addClass('disabled').prop("disabled", true);
		// $('#modal-input-WXLIN').focus();
		// return false;
	// }

	// if ( $('#modal-input-WXDTE').val() == '' ) {
		// $('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0019 ?>' );
		// $('#modal-save-button').addClass('disabled').prop("disabled", true);
		// $('#modal-input-WXDTE').focus();
		// return false;
	// }

	var mode 	= $('#input-mode').val();
	var WXART 	= $('#input-WXART').val();


	//===============================================================================

	// Make array and json
	var myData = $('#dataForm').find('input, select').serializeArray();
	var result = JSON.stringify(myData);


	var parmData = 'data=' + result
				 + '&mode=' + mode
				 ;

	// console.log(result);
	// console.table(myData);
	// console.log(parmData);
	// return;

	$.ajax({
		url: "hub_wa0362_maintain_save.php",
		type: "GET",
		data: parmData,
		dataType: "json",
		cache: false,
	})
	.done(function( jsonData ) {


		var rpyNumberInserted = jsonData.header.rpyNumberInserted;
		var rpyNumberDeleted  = jsonData.header.rpyNumberDeleted;
		var response_sec 	  = jsonData.header.response_sec;

		$('#load-time-from-database').html( '(' + response_sec + ')');

		$('#number-of-something').html( '&nbsp;');

		if ( rpyNumberInserted != '0' ) {
			$('#number-of-something').html( '<?php echo $datahub_text0169 ?> : ' + rpyNumberInserted );
		}

		if ( rpyNumberDeleted != '0' ) {
			$('#number-of-something').html( '<?php echo $datahub_text0170 ?> : ' + rpyNumberDeleted );
		}

		// Reset "all" field
		$('#input-ALL_WORKCENTERS').val('')

		// Reset fields, just in case
		var mode 	= $('#input-mode').val();
		var WXLIN 	= $('#input-WXLIN').val();

		if ( mode == '*multi_delete' ) {
			$('.class_input_' + WXLIN).val('');
		}

		// If super add - reload data
		if ( mode == '*super_add' ) {
			$('#input-super-action-in-progress').val('Y');
			getData();
		}


	})
	.always(function( jsonData ) {

	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

	});

}

//=============================================================================
// Show WXART search
//=============================================================================
function searchWXARTshow()
{

		$('#current-input-WXART-wrapper').addClass('d-none');
		$('#current-input-WXART-search-wrapper').removeClass('d-none');

		$('#current-input-WXART-search').trigger('focus');

		// Swithc incons
		$('#search-icon-01').addClass('d-none');
		$('#search-icon-02').removeClass('d-none');

}

//=============================================================================
// Hide WXART search
//=============================================================================
function searchWXARThide()
{

		$('#current-input-WXART-search-wrapper').addClass('d-none');
		$('#current-input-WXART-wrapper').removeClass('d-none');

		// Swithc incons
		$('#search-icon-02').addClass('d-none');
		$('#search-icon-01').removeClass('d-none');

}

//=============================================================================
// Check if userid exists
//=============================================================================
function checkDataExists()
{

	var WXPID = $('#modal-input-WXPID').val();

	// If update, then the "orginal" code is ok
	if ( $('#input-mode').val() == '*update' ) {
		if ( WXPID == save_WXPID ) {
			return;
		}
	}

	var parmData = 'WXART=' + WXPID
				 ;

	$.ajax({
		url: "hub_wa0357_maintain_get.php",
		type: "GET",
		data: parmData,
		dataType: "json",
		cache: false,
	})
	.done(function( jsonData ) {

		var returnCode 		= jsonData.header.returnCode;
		var returnMsg 		= jsonData.header.returnMsg;
		var entries_found 	= jsonData.header.entries_found;


		if ( returnCode == '50') {
			$('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0080 ?>' );
			$('#modal-save-button').addClass('disabled').prop("disabled", true);
			$('#modal-input-WXPID').focus();
			$('#modal-input-WXDTE').val( '' );
			return false;
		} else {
			DESCP = jsonData.detail[0].DESCP
			$('#modal-input-WXDTE').val( DESCP );
		}

		// Reset modal message
		resetModalMessage();

	})
	.always(function( jsonData ) {

	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

	});

}

//=============================================================================
// Log off
//=============================================================================
function signoff()
{

	window.location.href = "logout.php";

}

//=============================================================================
// Load page
//=============================================================================
function loadPage(url, p1, p2, p3)
{

	window.location.href = url;

}

//=============================================================================
// Reset modal message
//=============================================================================
function resetModalMessage() {

	// Reset
	//$('#modal-message').removeClass('p-2 font-weight-bold border border-danger rounded bg-light').html( '&nbsp;' );

	$('#modal-message').removeClass('border-bottom').html( '&nbsp;' );
	$('#modal-save-button').removeClass('disabled').prop("disabled", false);

}

//=============================================================================
// Full screen popup
//=============================================================================
function popUpFull( url, p1, p2, p3 )
{

	var winname = 'win_' + url;

	params  = 'width='+screen.width;
	params += ', height='+screen.height;
	params += ', top=0, left=0'
	params += ', fullscreen=yes';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;

}

//=============================================================================
// screen popup - center
//=============================================================================
function popUpCenter(url, p1, p2, p3)
{

	var v1_w  = screen.availWidth;
	var v1_h  = screen.availHeight;

	if ( parseInt(v1_w) > 1800 ) {
		v1_w = 1800;
		v1_h = v1_h - 200;
		v1_center = v1_w/0.8;
	}

	// Center popup as good as possible
	var left = (screen.width - v1_w) / 2;
	var top = (screen.height - v1_h) / 4;

	var winname = 'win_' + url;

	params  = 'width='+v1_w;
	params += ', height='+v1_h;
	params += ', top=' + top + ', left=' + left;
	params += ', fullscreen=yes';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;

}

//=============================================================================
// screen popup - center - bigger
//=============================================================================
function popUpCenterBig(url, p1, p2, p3)
{

	var v1_w  = screen.availWidth;
	var v1_h  = screen.availHeight;

	// Get 25%
	v1_w_pct = v1_w * 0.25;

	v1_w_new = v1_w - v1_w_pct;


	if ( v1_w_new < 1 ) {
		v1_w_new	= 1800;
	}

	v1_w = v1_w_new;
	v1_h = v1_h - 200;
	v1_center = v1_w/0.8;

	// Center popup as good as possible
	var left = (screen.width - v1_w) / 2;
	var top = (screen.height - v1_h) / 4;

	var winname = 'win_' + url;

	params  = 'width='+v1_w;
	params += ', height='+v1_h;
	params += ', top=' + top + ', left=' + left;
	params += ', fullscreen=yes';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;

}

//=============================================================================
// Popup top
//=============================================================================
function popUpTop(url, p1, p2, p3)
{

	var winname = 'win_' + url;

	w = 650;
	h = 750;

	params  = 'width='+w;
	params += ', height='+h;
	params += ', top=0, left=0'
	params += ', fullscreen=no';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;
}


//=============================================================================
// Scroll to something
//=============================================================================
function scrollToSomething( target )
{

	thisID = '#' + target;
	$.scrollTo( thisID, 1000);

}

//=============================================================================
// Set clock
//=============================================================================
function updateClock() {

	var currentTime = moment().format('YYYY-MM-DD HH:mm:ss');
	currentTime = REEFT_format_date( currentTime, DFT_DATE_DISPLAY_FORMAT )

	$('#current-time').html( currentTime );

}

//=============================================================================
// jQuery - Ready
//=============================================================================
$(document).ready(function()
{

	// Get me some data
	getWorkCenters();

	$('#input-mode').val('*add');
	$('#input-WXART').val( '<?php echo $input_WXART ?>' )
	$('#current-input-WXART').html( '<?php echo $input_WXART ?>' )
	$('#input-super-action-in-progress').val('N');

	//-----------------------------------------------------------------------
	// Start the clock
	//-----------------------------------------------------------------------
		updateClock();
		setInterval(function() {
			updateClock();
		}, 1000); 
	//-----------------------------------------------------------------------

	//-----------------------------------------------------------------------
	// Set font awesome icon type
	//-----------------------------------------------------------------------
		// Value is from config/config.php
		var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>';
		setFontAwesomeIconType( iconType );
	//-----------------------------------------------------------------------

	//-----------------------------------------------------------------------
	// Delay keyup checker
	//-----------------------------------------------------------------------
	var delay = (function () {
		var timer = 0;
		return function (callback, ms) {
			clearTimeout(timer);
			timer = setTimeout(callback, ms);
		};
	})()

	let $filter01 = $('#modal-input-WXPID');
	$filter01.on('keyup', function () {
		delay(function () {
			var inputValue = $('#modal-input-WXPID').val();
			if ( inputValue != '') {
			console.log('this will hit, once user has not typed for 1 second ' + inputValue );
				checkDataExists();
			}
		}, 0800);
	});


	//-----------------------------------------------------------------------
	// Set short cuts
	//-----------------------------------------------------------------------

	// If add d-none class, do not add shortcut
	if ( GLOBAL_ADD_ALLOWED == 'Y' ) {
		shortcut.add("Alt+F6",function() {
			$('#add-button').click();
		});
	}

	// Show search
	shortcut.add("F2",function() {
		$('#search-icon-01').click();
	});

	// Hide search
	shortcut.add("Alt+F2",function() {
		$('#search-icon-02').click();
	});



});
// -->
</script>

</head>

<body>

<div class="container-fluid mt-2 pl-3 pr-3">

		<input type="text" class="d-none" id="input-mode">
		<input type="text" class="d-none" id="input-TAKT_LINES" size="50">
		<input type="text" class="d-none" id="input-DEFAULT_TAKT_LINES" size="50">
		<input type="text" class="d-none" id="input-super-action-in-progress">

		<input type="text" class="d-none" id="input-show-deleted" >
		<input type="text" class="d-none" id="input-search-line">
		<input type="text" class="d-none" id="input-search-wc">
		<input type="text" class="d-none" id="input-show-next-prodid">
		<input type="text" class="d-none" id="input-init-screen-shown">

		<input type="text" class="d-none" id="input-myPageGoTo">
		<input type="text" class="d-none" id="input-myCurrentPageCounter">
		<input type="text" class="d-none" id="input-saveMyCurrentPageCounter">
		<input type="text" class="d-none" id="input-saveMyDirection">
		<input type="text" class="d-none" id="input-myOffSet">
		<input type="text" class="d-none" id="input-myTotalRecordsFound">
		<input type="text" class="d-none" id="input-myTotalPages">
		<input type="text" class="d-none" id="input-myPageSize">
		<input type="text" class="d-none" id="input-myBuildPageButtonsFirstTime">

		<form name="dataForm" id="dataForm">

			<input type="text" class="d-none" id="input-WXLIN" name="input-WXLIN" size="50">
			<input type="text" class="d-none" id="input-WXMOA" name="input-WXMOA">
			<input type="text" class="d-none" id="input-WXART" name="input-WXART">
			<input type="text" class="d-none" id="input-ALL_WORKCENTERS" name="input-ALL_WORKCENTERS" size="100">

		</form>

		<div class="row">
			<div class="col-2">
				<img src="images/customer-logo.png" alt="Customer Logo">
			</div>
			<div class="col-8 text-center <?php echo $DFT_CLOCK_SIZE ?>">
				<i class="font-awesome-pseudo-class fa-thin fa-clock"></i>&nbsp;&nbsp;<span id="current-time"><?php echo date('d-m-Y h:i:s') ?></span>
			</div>
			<div class="col-2 text-right">
				<div id="button-exit-button" class="btn btn-primary mb-1" onclick="loadPage('menu_main.php','','','')" title="<?php echo $datahub_go_to_my_dear_home ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-home"></i></div>

				<div class="d-none">
					<div class="btn btn-primary mb-1 d-none d-xl-inline-block" onclick="loadPage('menu_main.php','','','')" title="<?php echo $datahub_go_to_my_dear_home_03 ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-fort"></i></div>
					<div class="btn btn-danger mb-1 d-none d-lg-inline-block"  onclick="signoff()" title="<?php echo $datahub_go_to_my_dear_home_04 ?>"><i class="font-awesome-pseudo-class fa-thin  fa-2x fa-right-from-bracket"></i></div>
				</div>

			</div>
		</div>

		<div class="row">
			<div class="col-12 text-center">
				<div id="data-hub-company-information"></div>
			</div>
		</div>


		<div class="card mt-2">
			<div class="card-header text-muted">

				<div class="row mt-2">
					<div class="col-4 h4">
						<i class="font-awesome-pseudo-class fa-thin fa-eye"></i> <?php echo "$datahub_text0166a"; ?>
					</div>

					<div class="col-4 h4 text-center">

						<div class="row">
						<div class="col-11 order-first">
							<span id="current-input-WXART-wrapper" class="Xd-none"><span id="current-input-WXART" class="h3 font-weight-bold"></span></span>
							<span id="current-input-WXART-search-wrapper" class="d-none"><input id="current-input-WXART-search" placeholder="<?php echo $datahub_datatable_Search_text ?>" class="form-control w-100"></span>
						</div>
						<div class="col-1">
							<span onclick="searchWXARTshow()" title="F2=Show search" id="search-icon-01" style="cursor:pointer"><i class="fa-light fa-magnifying-glass"></i></span>
							<span onclick="searchWXARThide()" title="Alt+F2=Hide search" id="search-icon-02" class="d-none" style="cursor:pointer"><i class="fa-light fa-magnifying-glass-minus"></i></span>
						</div>
						</div>

					</div>

					<div class="col-4 text-right">

					<div id="number-of-takt-lines">number-of-takt-lines</div>
					<div id="number-of-workcenters">number-of-workcenters</div>
					<div id="number-of-something">&nbsp;</div>

					</div>
				</div>

			</div>

			<div class="card-body" id="card-body-id">

						<!-- Message if screen is not wide enough -->
				<div class="container-fluid mt-2 mb-4 d-block d-lg-none">
					<div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div>
				</div>
			<!-- Message if screen is not wide enough -->

				<div class="text-center" id="data-result-workcenters-message"></div>

				<!-- Super buttons start -->
				<div id="data-result-wrapper-1" class="">
					<div class="row mb-2">
						<div class="col-12 text-right">
							<span id="super-button-add"></span>
							<span id="super-button-del"></span>
						</div>
					</div>
				</div>
				<!-- Super buttons end -->

				<!-- Work centers start -->
				<div id="data-result-wrapper-1" class="">
					<div class="row mb-4">
						<div class="col-12 text-left">
							<div class="text-left" id="data-result-workcenters"></div>
						</div>
					</div>
				</div>
				<!-- Work centers end -->

				<div class="row">
					<div class="col text-right">
						<small><div id="load-time-from-database"></div></small>
					</div>
				</div>

			</div>

		</div>


</div>


<!-- Set footer -->
<?php
	include "include/footer.php";
?>
<!-- Set footer -->

<!-- ========================================================================== -->
<!--                                M O D A L S                                 -->
<!-- ========================================================================== -->


</body>
</html>